The term “electronic content” refers to any type of media that can be displayed on mobile and other computing devices. Computing devices include devices such as desktop computers, laptop computers, smart phones, tablet computers, personal digital assistants, etc. Electronic content can include text or multimedia hosted on websites, such as standard web pages or mobile web pages specifically formatted for display on computing devices. Electronic content can also include application software developed for computing devices that is designed to perform one or more specific tasks at the computing device.
Electronic content development is the process for developing mobile and other electronic content for one or more mobile and other computing devices. During the development process, some development applications provide a “design view.” A design view gives a developer a “What You See Is What You Get” (“WYSIWYG”) user interface for editing electronic content being developed, where the electronic content displayed during editing is the same as or very similar to the final output electronic content.
Differences in the resolution, orientation, display screen dimensions, and operating system for various mobile and other computing devices can require customizing the electronic content for display on the differing computing devices. Display schemes have been used to consolidate modifications required for displaying the electronic content on different platforms. For example, an application developed for use on a smart phone using an Apple® iOS operating system and on a tablet computer using a Microsoft® Windows® operating system may include a display scheme or other code for automatically applying certain display or rendering attributes based on whether the electronic content is being used on the smart phone or tablet computer.
Developing and testing electronic content that is intended for use on differing devices presents various challenges. For example, during development, it has not been possible to adequately and efficiently observe or anticipate how the electronic content will appear and function differently on differing devices. To observe how the electronic content will appear and function on differing devices has required cumbersome and time-consuming developer actions. For example, a developer may compile an application on a development computing device, deploy it to each of several different computing devices, and observe the appearance and functionality of the application on each of those different devices. Doing so has generally required that the application be individually compiled and/or individually deployed for each of the multiple, different devices.
Having to individually compile and/or individually deploy an application for multiple devices presents at least two disadvantages. First, a developer is unable to observe the effects of a particular change to an application being developed at or near the time the change is made (i.e., in real time). As a consequence, to develop an application, a developer may need to spend significant amounts of time in an inefficient and error-prone development cycle that involves making changes, testing those changes, making more changes, testing those additional changes, etc. Second, having to individually compile and/or individually deploy an application to multiple devices increases the time and costs associated with developing electronic content.
One solution for these problems is to include one or more display areas for emulating a display at a development computing device of one or more particular computing devices. For instance, a design view may include one display area emulating the display of an application on a smart phone and another display area emulating the display of the application on the tablet computer.
While emulating the display of different platforms can approximate in real time how design changes will be rendered at each device, an emulated platform may not display electronic content with full fidelity, i.e., such that the content will not necessarily appear and/or function the same as it would when using electronic content on the actual computing device. For example, when a development computing device emulates the display of an application as it is expected to appear on a smart phone, the emulation may be inaccurate because of differences in pixel density between the display screen of the smart phone and the display screen of the development computing device. The scaling and size of different aspects of the application may be inaccurate. In addition, if electronic content being developed incorporates features requiring interaction with the display itself, such as touch screen functions, such features may be unavailable for testing on a development computing device emulating the display of another computing device supporting such features.